/* Les batiments sont des entités carrés construites dans la ville et visible dans la GUI
 * leur position corespond au coordonés du point le plus en haut à gauche et leur taille aux coté du carré
 */

package greentycoon.batiment;

import greentycoon.ville.Pollution;

//ceci est un test

public abstract class Batiment {
	
	/*attributs*/
	protected int prix;
	protected int posX;
	protected int posY;
	protected int sizeX;
	protected int sizeY;	
	protected Pollution pollution = new Pollution();
	protected int PuissanceConsome =0;
	protected boolean sousAlimentaion = true;
	protected int compteurInhabited = 100;
	
	
	
	public int getPrix() {
		return prix;
	}
	public void setPrix(int prix) {
		this.prix = prix;
	}
	public int getPosX() {
		return posX;
	}
	public void setPosX(int posX) {
		this.posX = posX;
	}
	public int getPosY() {
		return posY;
	}
	public void setPosY(int posY) {
		this.posY = posY;
	}
	public int getSizeX() {
		return sizeX;
	}
	public void setSizeX(int sizeX) {
		this.sizeX = sizeX;
	}
	public int getSizeY() {
		return sizeY;
	}
	public void setSizeY(int sizeY) {
		this.sizeY = sizeY;
	}
	public Pollution getPollution() {
		return pollution;
	}
	public Pollution getPollution(float tauxReduction)
	{
		Pollution popTemp = pollution;
		popTemp.setPollutionAir(popTemp.getPollutionAir()*(1-tauxReduction/100));
		popTemp.setPollutionSol(popTemp.getPollutionSol()*tauxReduction/100);
		return popTemp;
	}
	public void setPollution(Pollution pollution) {
		this.pollution = pollution;
	}
	public int getPuissanceConsome() {
		return PuissanceConsome;
	}
	public void setPuissanceConsome(int puissanceConsome) {
		PuissanceConsome = puissanceConsome;
	}
	public boolean isSousAlimentaion() {
		return sousAlimentaion;
	}
	public void setSousAlimentaion(boolean sousAlimentaion) {
		if(sousAlimentaion)
		{
			compteurInhabited = 0;
		}else{
			++compteurInhabited;
		}
		this.sousAlimentaion = sousAlimentaion;
	}
	
	
	
	

}
